package com.qfjy.controller.example3;

import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * @ClassName WeatherController
 * @Description TODO  天报预报发送到多个 消费端（京东、淘宝），不同的消费端会有不同的业务完成显示
 * @Author guoweixin
 * @Date 2023/4/13
 * @Version 1.0
 */
@RequestMapping("weather")
@Controller
@Slf4j
public class WeatherController {
    /**
     * AMQP  RabbitMQ
     */
    @Autowired
    private AmqpTemplate amqpTemplate;

    /**
     * 气象局 将最新的天气情况  分发到不同的平台上。
     * @return
     */
    @GetMapping("info")
    @ResponseBody
    public String info(HttpServletRequest request){

        String city=request.getParameter("city");
        //气象局查询最新的天气预报 信息 分发给所有门户网站
        String msg="最新的天气情况是：晴 10-20度"+city;

        /**
         * 淘宝、京东、新浪
         * String exchange, String routingKey, Object object
         * @param1 exchange 交换机名称
         * @param2 routingkey 路由
         * @param3 object 数据传输的载体（底层是二进制）
         */
        amqpTemplate.convertAndSend("weatherFanoutExchange",null,msg);



        return "天气预报广播成功"+msg;
    }
}
